Модель клиент-сервер является основной архитектурой для распределённых приложений. Она не определяется аппаратным обеспечением, а логической транзакцией между двумя процессами: логической транзакцией между двумя процессами: клиентом , который инициирует запрос на получение ресурса, и сервером , который управляет этим ресурсом и предоставляет его.
1. Транзакция из четырёх этапов
Каждое взаимодействие следует строгой последовательности: (1) Клиент отправляет запрос; (2) Сервер интерпретирует и обрабатывает локальные ресурсы; (3) Сервер отправляет ответ; (4) Клиент обрабатывает полученные данные (например, отображает HTML).
2. Организация аппаратного обеспечения
Обмен данными зависит от сетевого адаптера, устройства ввода-вывода. Данные передаются от процессора через мост ввода-вывода и системную шину к основной памяти. При веб-запросе, например http://www.google.com:80, пакеты проходят по этим шинам, чтобы достичь кода приложения.
3. Абстракция протокола
Современные приложения используют порядок байтов сети (большой порядок) для согласованности. Функции, такие как getaddrinfo обеспечивают сопоставление доменного имени с адресом IP при этом оставаясь независимыми от протокола.